using System;
using System.Data;
using System.ComponentModel;
using System.Reflection;
using System.Collections.Generic;

namespace VSSAHT.Transfer
{
	[Serializable]
	public class RoleDTOBase : DTOBase
	{
		#region Reference property Members


		#endregion

		#region Collection Members

		private IList<UserDTO> _userCollection = new List<UserDTO>();
		public IList<UserDTO> UserCollection
		{
			get
			{
				return _userCollection;
			}
			set
			{
				if (_userCollection != value)
				{
					_userCollection = value;
					OnChanged();
				}
			}
		}

		#endregion

		#region Property ModifiedBy

		private string _modifiedBy;

		/// <summary>
		///  Property ModifiedBy
		/// <summary>
		public string ModifiedBy
		{
			get
			{
				return _modifiedBy;
			}

			set
			{
				if (_modifiedBy != value)
				{
					this.OnModifiedByChanging(value);
					_modifiedBy = value;
					this.OnModifiedByChanged();
				}
			}
		}

		#endregion

		#region Property ModifiedDate

		private DateTime? _modifiedDate;

		/// <summary>
		///  Property ModifiedDate
		/// <summary>
		public DateTime? ModifiedDate
		{
			get
			{
				return _modifiedDate;
			}

			set
			{
				if (_modifiedDate != value)
				{
					this.OnModifiedDateChanging(value);
					_modifiedDate = value;
					this.OnModifiedDateChanged();
				}
			}
		}

		#endregion

		#region Property Permits

		private string _permits;

		/// <summary>
		///  Property Permits
		/// <summary>
		public string Permits
		{
			get
			{
				return _permits;
			}

			set
			{
				if (_permits != value)
				{
					this.OnPermitsChanging(value);
					_permits = value;
					this.OnPermitsChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property RoleCode

		private string _roleCode;

		/// <summary>
		///  Property RoleCode
		/// <summary>
		public string RoleCode
		{
			get
			{
				return _roleCode;
			}

			set
			{
				if (_roleCode != value)
				{
					this.OnRoleCodeChanging(value);
					_roleCode = value;
					this.OnRoleCodeChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property RoleID

		private Guid _roleID;

		/// <summary>
		///  Property RoleID
		/// <summary>
		public Guid RoleID
		{
			get
			{
				return _roleID;
			}

			set
			{
				if (_roleID != value)
				{
					this.OnRoleIDChanging(value);
					_roleID = value;
					this.OnRoleIDChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property RoleName

		private string _roleName;

		/// <summary>
		///  Property RoleName
		/// <summary>
		public string RoleName
		{
			get
			{
				return _roleName;
			}

			set
			{
				if (_roleName != value)
				{
					this.OnRoleNameChanging(value);
					_roleName = value;
					this.OnRoleNameChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Property RowVersion

		private string _rowVersion;

		/// <summary>
		///  Property RowVersion
		/// <summary>
		public string RowVersion
		{
			get
			{
				return _rowVersion;
			}

			set
			{
				if (_rowVersion != value)
				{
					this.OnRowVersionChanging(value);
					_rowVersion = value;
					this.OnRowVersionChanged();
					OnChanged();
				}
			}
		}

		#endregion

		#region Extensibility Method Declarations

		protected virtual void OnModifiedByChanging(string modifiedBy) { }
		protected virtual void OnModifiedByChanged() { }
		protected virtual void OnModifiedDateChanging(DateTime? modifiedDate) { }
		protected virtual void OnModifiedDateChanged() { }
		protected virtual void OnPermitsChanging(string permits) { }
		protected virtual void OnPermitsChanged() { }
		protected virtual void OnRoleCodeChanging(string roleCode) { }
		protected virtual void OnRoleCodeChanged() { }
		protected virtual void OnRoleIDChanging(Guid roleID) { }
		protected virtual void OnRoleIDChanged() { }
		protected virtual void OnRoleNameChanging(string roleName) { }
		protected virtual void OnRoleNameChanged() { }
		protected virtual void OnRowVersionChanging(string rowVersion) { }
		protected virtual void OnRowVersionChanged() { }

		#endregion

	}
}
